package com.todo.strategy.online.application.service;


import com.todo.common.common.enums.EnableTypeEnum;
import com.todo.strategy.online.application.entity.bo.MemoTemplateBO;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/11/28 02:34
 * @description
 */
public interface MemoTemplateService {

    /**
     * 新增备忘录模板信息
     *
     * @param memoTemplateBO
     * @return
     */
    Boolean insertMemoTemplate(MemoTemplateBO memoTemplateBO);

    /**
     * 更新备忘录模板信息
     *
     * @param memoTemplateBO
     * @return
     */
    Boolean updateMemoTemplate(MemoTemplateBO memoTemplateBO);

    /**
     * 根据主键备忘录模板信息
     *
     * @param id
     * @return
     */
    Boolean removeMemoTemplateById(Long id);

    /**
     * 根据主键删除备忘录模板信息
     *
     * @param id
     * @return
     */
    MemoTemplateBO queryMemoTemplateById(Long id);

    /**
     * 根据主键更新备忘录状态
     *
     * @param id
     * @return
     */
    Boolean updateMemoStatusById(Long id, EnableTypeEnum oldStatus, EnableTypeEnum newStatus);

    /**
     * 根据用户id查询用户模板信息列表
     *
     * @param userId
     * @return
     */
    List<MemoTemplateBO> queryMemoTemplateByUserId(Long userId);

    /**
     * 根据模板id列表查询模板信息列表
     *
     * @param templateIdList
     * @return
     */
    List<MemoTemplateBO> queryMemoTemplateByIdList(List<Long> templateIdList);
}
